package behavioral.observer.inJava;

/**
 * 观察者模式 - java
 * 多个对象间存在一对多关系，当一个对象发生改变时，把这种改变通知给其他多个对象，从而影响其他对象的行为。
 *
 * 1：不能依赖监听者顺序
 * 2：可拉，可推
 * 3：java的默认实现必须使用extends，不能解耦
 */
public class Main {
    public static void main(String[] args) {
        Button btn = new Button();
        btn.setX(10);
        btn.setY(20);

        ListenerA la = new ListenerA(btn);
        ListenerB lb = new ListenerB(btn);

        btn.click();

    }
}
